/*

* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Smart-Shop开源商城系统/ Java商城-首选电商平台系统 请务必保留此注释头信息
* |     开源地址: https://gitee.com/ningbo-qishan/gruul-mall
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     可正常分享和学习源码,未经授权 不可商用！
* |     商业版中台购买/开源版商业授权 联系技术客服
* |     官网:  https://www.73app.cn/
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Copyright (c) 2016-2999 宁波启山智软科技有限公司
* |     版权所有 ,侵权必究！
* ------------------------------------------------------------------------

*/
package com.medusa.gruul.live.controller.api;


import com.medusa.gruul.common.core.annotation.EscapeLogin;
import com.medusa.gruul.common.core.util.PageUtils;
import com.medusa.gruul.common.core.util.Result;
import com.medusa.gruul.live.service.LiveService;
import com.medusa.gruul.live.model.param.api.ApiLiveParam;
import com.medusa.gruul.live.model.param.manager.LiveParam;
import com.medusa.gruul.live.model.vo.LiveVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Description: 小程序端直播接口
 * @Author: zhaokw
 * @Date: 2020/4/5 9:47
 **/
@RestController
@RequestMapping("/api/")
@Api(tags = "小程序端直播接口")
public class ApiLiveController {
    @Autowired
    private LiveService liveService;

    /**
     * 获取小程序端的直播列表 进行分页
     *
     * @param apiLiveParam 分页对象
     * @return
     */
    @EscapeLogin
    @GetMapping("get/list")
    @ApiOperation(value = "直播列表分页展示")
    public Result<PageUtils<LiveVo>> getApiLiveList(ApiLiveParam apiLiveParam) {
        PageUtils<LiveVo> pageUtils = new PageUtils(liveService.getPageList(apiLiveParam));
        return Result.ok(pageUtils);
    }

    /**
     * 更新小程序端观看量
     *
     * @param liveParam
     * @return
     */
    @EscapeLogin
    @GetMapping("/update/viewCount")
    @ApiOperation(value = "更新直播间观看量")
    public Result updateViewCount(LiveParam liveParam) {
        liveService.updateViewCount(liveParam);
        return Result.ok();
    }

    /**
     * 更新小程序端点赞量
     *
     * @param liveParam
     * @return
     */
    @GetMapping("/update/likeCount")
    @ApiOperation(value = "更新直播间点赞量")
    @EscapeLogin
    public Result updateLikeCount(LiveParam liveParam) {
        liveService.updateLikeCount(liveParam);
        return Result.ok();
    }




}
